package main;

import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener; //import java.awt.event.WindowAdapter;
//import java.awt.event.WindowEvent;
//import java.awt.image.BufferedImage;
//import java.io.File;
//import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator; //import java.util.LinkedList;
import java.util.List;

//import javax.imageio.ImageIO;
import javax.swing.*;

import main.composantesJeu.Partie;
import main.objet.ObjetControlable;

@SuppressWarnings("serial")
public class Cadre extends JPanel {
    private List<ObjetControlable> listObjet = new ArrayList<ObjetControlable>();
    Partie partie;
    boolean up = false;
    boolean down = false;
    boolean left = false;
    boolean right = false;

    public Cadre() {
	this.setPreferredSize(new Dimension(600, 400));
	this.setForeground(Color.GREEN);
    }

    public void addObjet(ObjetControlable o) {
	listObjet.add(o);
	repaint();
    }

    public void removeObjet(ObjetControlable o) {
	listObjet.remove(o);
	repaint();
    }

    public void paint(Graphics g) {
	super.paint(g);

	g.setColor(Color.black);
	// Décommenter ces lignes et changer le nom de l'image

	Image image = Toolkit.getDefaultToolkit().getImage("court.png");
	super.paintComponent(g);
	g.drawImage(image, 34, 70, 535, 260, this);

	/*
	 * g.drawRect(60, 90, 480, 220); // le cadre ext�rieur g.drawRect(60,
	 * 118, 480, 164); // les bandes de double g.drawRect(170, 118, 260,
	 * 164); // limite de service g.drawLine(300, 90, // 300, 310); // filet
	 * g.drawLine(170, 200, 430, 200); // ligne horizontale
	 */

	g.drawString("Eq 1 : " + partie.getNbMancheEquipe1() + " | " + partie.getLastManche().getNbJeuEquipe1() + " | " + partie.getLastManche().getLastJeu().getPointageEquipe1(), 10, 10);
        g.drawString("Eq 2 : " + partie.getNbMancheEquipe2() + " | " + partie.getLastManche().getNbJeuEquipe2() + " | " + partie.getLastManche().getLastJeu().getPointageEquipe2(), 10, 30);
        

        for (Iterator<ObjetControlable> iter = listObjet.iterator(); iter.hasNext();) {
            ((ObjetControlable) iter.next()).seDessiner(g);
        }
    }

    public List<ObjetControlable>  getListObjet() {
	return listObjet;
    }

    /*
     * public void dessinerTerrain() {
     * 
     * Graphics g = this.getGraphics(); g.setColor(Color.green); g.fillRect(60,
     * 90, 480, 220); g.setColor(Color.black); g.drawRect(60, 90, 480, 220);
     * g.drawRect(60, 118, 480, 164); g.drawRect(170, 118, 260, 164);
     * g.drawLine(300, 90, 300, 310); g.drawLine(170, 200, 430, 200);
     * 
     * }
     */
}
